#pragma once

#include "../data/reg3dvolumedata.h"
#include "datanode.h"

namespace PBVP {
	class MainInterface;
	class Reg3VolumeAttribWidget;
	/// 
	class Reg3DVolumeDataNode : public DataNode {
		Q_OBJECT
	public:
		/// 
		Reg3DVolumeDataNode(Reg3DVolumeData *pData, MainInterface *mainInterface);

		virtual ~Reg3DVolumeDataNode();

		virtual bool isRenderable() {return false;} // TODO
		///
		virtual DataInterface* data() const {
			return m_pReg3Data;
		}
		/// <summary>
		/// Display function
		/// </summary>
		virtual void render();
		/// 
		virtual QWidget* getPropertyWidget() const; 

		/// 
		virtual void setRenderer(RenderPlugin * pRenderer);

	protected:
		Reg3DVolumeData *m_pReg3Data;
		Reg3VolumeAttribWidget *m_pVolAttribWidget;
	};
}